using System;
using System.Collections;

namespace Eshouse.Entity
{
	

	/// <summary>
	/// HouseInfo object for NHibernate mapped table 'HouseInfo'.
	/// </summary>
	public class HouseInfo
	{
		#region Member Variables
		
		protected int _id;
		protected string _hSPosition;
		protected string _hSDistrict;
		protected int _hSTotalFloor;
		protected int _hSFloor;
		protected double _hSMinArea;
		protected double _hSMaxArea;
		protected int _hSRoom;
		protected int _hSHall;
		protected int _hSToilet;
		protected int _hSHutch;
		protected int _hSBalcony;
		protected double _hSMinMoney;
		protected double _hSMaxMoney;
		protected int _hSMinBuildYear;
		protected int _hSMaxBuildYear;
		protected string _hSTraffic;
		protected string _hSEstate;
		protected string _hSSchool;
		protected string _hSIntroduction;
		protected DateTime _hSReleasedTime;
		protected int _hSReleasedDays;
		protected DicTable _hSUseType;
		protected DicTable _hSRegional;
		protected DicTable _hSReleasedState;
		protected DicTable _hSInfoCategory;
		protected DicTable _hSEstateCategory;
		protected DicTable _hSDecorate;
		protected DicTable _hSTowards;
		protected DicTable _hSSourceCategory;
		protected DicTable _hSLeaseWay;
		protected DicTable _hSPayment;
		protected DicTable _hSOwnership;
		protected PersonInfo _hSReleasedPsId;
		protected IList _hsFacilitieses;

		#endregion

		#region Constructors

		public HouseInfo() { }

		public HouseInfo( string hSPosition, string hSDistrict, int hSTotalFloor, int hSFloor, double hSMinArea, double hSMaxArea, int hSRoom, int hSHall, int hSToilet, int hSHutch, int hSBalcony, double hSMinMoney, double hSMaxMoney, int hSMinBuildYear, int hSMaxBuildYear, string hSTraffic, string hSEstate, string hSSchool, string hSIntroduction, DateTime hSReleasedTime, int hSReleasedDays, DicTable hSUseType, DicTable hSRegional, DicTable hSReleasedState, DicTable hSInfoCategory, DicTable hSEstateCategory, DicTable hSDecorate, DicTable hSTowards, DicTable hSSourceCategory, DicTable hSLeaseWay, DicTable hSPayment, DicTable hSOwnership, PersonInfo hSReleasedPsId )
		{
			this._hSPosition = hSPosition;
			this._hSDistrict = hSDistrict;
			this._hSTotalFloor = hSTotalFloor;
			this._hSFloor = hSFloor;
			this._hSMinArea = hSMinArea;
			this._hSMaxArea = hSMaxArea;
			this._hSRoom = hSRoom;
			this._hSHall = hSHall;
			this._hSToilet = hSToilet;
			this._hSHutch = hSHutch;
			this._hSBalcony = hSBalcony;
			this._hSMinMoney = hSMinMoney;
			this._hSMaxMoney = hSMaxMoney;
			this._hSMinBuildYear = hSMinBuildYear;
			this._hSMaxBuildYear = hSMaxBuildYear;
			this._hSTraffic = hSTraffic;
			this._hSEstate = hSEstate;
			this._hSSchool = hSSchool;
			this._hSIntroduction = hSIntroduction;
			this._hSReleasedTime = hSReleasedTime;
			this._hSReleasedDays = hSReleasedDays;
			this._hSUseType = hSUseType;
			this._hSRegional = hSRegional;
			this._hSReleasedState = hSReleasedState;
			this._hSInfoCategory = hSInfoCategory;
			this._hSEstateCategory = hSEstateCategory;
			this._hSDecorate = hSDecorate;
			this._hSTowards = hSTowards;
			this._hSSourceCategory = hSSourceCategory;
			this._hSLeaseWay = hSLeaseWay;
			this._hSPayment = hSPayment;
			this._hSOwnership = hSOwnership;
			this._hSReleasedPsId = hSReleasedPsId;
		}

		#endregion

		#region Public Properties

		public virtual int Id
		{
			get {return _id;}
			set {_id = value;}
		}

		public virtual  string HSPosition
		{
			get { return _hSPosition; }
			set
			{
				if ( value != null && value.Length > 255)
					throw new ArgumentOutOfRangeException(" Invalid value for HSPosition", value, value.ToString());
				_hSPosition = value;
			}
		}

		public virtual  string HSDistrict
		{
			get { return _hSDistrict; }
			set
			{
				if ( value != null && value.Length > 128)
					throw new ArgumentOutOfRangeException(" Invalid value for HSDistrict", value, value.ToString());
				_hSDistrict = value;
			}
		}

		public virtual  int HSTotalFloor
		{
			get { return _hSTotalFloor; }
			set { _hSTotalFloor = value; }
		}

		public virtual  int HSFloor
		{
			get { return _hSFloor; }
			set { _hSFloor = value; }
		}

		public virtual  double HSMinArea
		{
			get { return _hSMinArea; }
			set { _hSMinArea = value; }
		}

		public virtual  double HSMaxArea
		{
			get { return _hSMaxArea; }
			set { _hSMaxArea = value; }
		}

		public virtual  int HSRoom
		{
			get { return _hSRoom; }
			set { _hSRoom = value; }
		}

		public virtual  int HSHall
		{
			get { return _hSHall; }
			set { _hSHall = value; }
		}

		public virtual  int HSToilet
		{
			get { return _hSToilet; }
			set { _hSToilet = value; }
		}

		public virtual  int HSHutch
		{
			get { return _hSHutch; }
			set { _hSHutch = value; }
		}

		public virtual  int HSBalcony
		{
			get { return _hSBalcony; }
			set { _hSBalcony = value; }
		}

		public virtual  double HSMinMoney
		{
			get { return _hSMinMoney; }
			set { _hSMinMoney = value; }
		}

		public virtual  double HSMaxMoney
		{
			get { return _hSMaxMoney; }
			set { _hSMaxMoney = value; }
		}

		public virtual  int HSMinBuildYear
		{
			get { return _hSMinBuildYear; }
			set { _hSMinBuildYear = value; }
		}

		public virtual  int HSMaxBuildYear
		{
			get { return _hSMaxBuildYear; }
			set { _hSMaxBuildYear = value; }
		}

		public virtual  string HSTraffic
		{
			get { return _hSTraffic; }
			set
			{
				if ( value != null && value.Length > 255)
					throw new ArgumentOutOfRangeException(" Invalid value for HSTraffic", value, value.ToString());
				_hSTraffic = value;
			}
		}

		public virtual  string HSEstate
		{
			get { return _hSEstate; }
			set
			{
				if ( value != null && value.Length > 128)
					throw new ArgumentOutOfRangeException(" Invalid value for HSEstate", value, value.ToString());
				_hSEstate = value;
			}
		}

		public virtual  string HSSchool
		{
			get { return _hSSchool; }
			set
			{
				if ( value != null && value.Length > 128)
					throw new ArgumentOutOfRangeException(" Invalid value for HSSchool", value, value.ToString());
				_hSSchool = value;
			}
		}

		public virtual  string HSIntroduction
		{
			get { return _hSIntroduction; }
			set
			{
				if ( value != null && value.Length > 255)
					throw new ArgumentOutOfRangeException(" Invalid value for HSIntroduction", value, value.ToString());
				_hSIntroduction = value;
			}
		}

		public virtual  DateTime HSReleasedTime
		{
			get { return _hSReleasedTime; }
			set { _hSReleasedTime = value; }
		}

		public virtual  int HSReleasedDays
		{
			get { return _hSReleasedDays; }
			set { _hSReleasedDays = value; }
		}

		public virtual DicTable HS_UseType
		{
			get { return _hSUseType; }
			set { _hSUseType = value; }
		}

		public virtual DicTable HS_Regional
		{
			get { return _hSRegional; }
			set { _hSRegional = value; }
		}

		public virtual DicTable HS_ReleasedState
		{
			get { return _hSReleasedState; }
			set { _hSReleasedState = value; }
		}

		public virtual DicTable HS_InfoCategory
		{
			get { return _hSInfoCategory; }
			set { _hSInfoCategory = value; }
		}

		public virtual DicTable HS_EstateCategory
		{
			get { return _hSEstateCategory; }
			set { _hSEstateCategory = value; }
		}

		public virtual DicTable HS_Decorate
		{
			get { return _hSDecorate; }
			set { _hSDecorate = value; }
		}

		public virtual DicTable HS_Towards
		{
			get { return _hSTowards; }
			set { _hSTowards = value; }
		}

		public virtual DicTable HS_SourceCategory
		{
			get { return _hSSourceCategory; }
			set { _hSSourceCategory = value; }
		}

		public virtual DicTable HS_LeaseWay
		{
			get { return _hSLeaseWay; }
			set { _hSLeaseWay = value; }
		}

		public virtual DicTable HS_Payment
		{
			get { return _hSPayment; }
			set { _hSPayment = value; }
		}

		public virtual DicTable HS_Ownership
		{
			get { return _hSOwnership; }
			set { _hSOwnership = value; }
		}

		public virtual PersonInfo HS_ReleasedPsId
		{
			get { return _hSReleasedPsId; }
			set { _hSReleasedPsId = value; }
		}

		public virtual IList Hs_Facilitieses
		{
			get
			{
				if (_hsFacilitieses==null)
				{
					_hsFacilitieses = new ArrayList();
				}
				return _hsFacilitieses;
			}
			set { _hsFacilitieses = value; }
		}

		

		#endregion
	}
	
}